refactor(all): add middy-like types to commons #1225
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of your changes
Following the discussion in the linked issue (#1068), as well as other issues (#1080, #1081), customers who are using Powertools and bundling their TypeScript project with
tsc
, but that were not using any of the Middy-compatible middleware were having compile issues due to the dependency being missing.We have investigated several workarounds:
@middy/core
dependency (fix(middleware): add @middy/core as dependency #1218)The first option was a no-go as it would have introduced an unnecessary dependency for those users having the issue. The second one would have constituted a breaking change, requiring a major release.
The last option (credits to @saragerion for proposing it) allows us to maintain backwards compatibility while solving the issue described above.
The solution that this PR proposes (again, credits to @saragerion), introduces some of the types previously imported from
@middy/core
into@aws-lambda-powertools/commons
. By bringing these types into the project, we can remove the dependency to@middy/core
from our codebase and allow customers to bundle usingtsc
as well asesbuild
.How to verify this change
See existing unit tests below this PR and successful integration test run: https://github.com/awslabs/aws-lambda-powertools-typescript/actions/runs/3894429621
Related issues, RFCs
Issue number: #1068
PR status
Is this ready for review?: YES
Is it a breaking change?: NO
Checklist
Breaking change checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.